home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / f90 / shifta.z / shifta
Encoding:
Text File  |  2002-10-03  |  3.6 KB  |  74 lines

  1. SHIFTA(3I)                                            Last changed: 4-13-99
  2.  
  3.  
  4. NNAAMMEE
  5.      SSHHIIFFTTAA - Performs an arithmetic shift
  6.  
  7. SSYYNNOOPPSSIISS
  8.      SSHHIIFFTTAA (([II==]_i,, [JJ==]_j))
  9.  
  10. IIMMPPLLEEMMEENNTTAATTIIOONN
  11.      UNICOS, UNICOS/mk, IRIX systems
  12.  
  13.      CF90, MIPSpro 7 Fortran 90
  14.  
  15. SSTTAANNDDAARRDDSS
  16.      Fortran extension
  17.  
  18. DDEESSCCRRIIPPTTIIOONN
  19.      The SSHHIIFFTTAA intrinsic function performs a right shift with sign
  20.      extension fill of the object _i by _j.  Its arguments are as follows:
  21.  
  22.      _i         The value to be shifted.  Must be of type Boolean, integer,
  23.                real, or Cray pointer.
  24.  
  25.      _j         The number of bits to shift the value.  Must be of type
  26.                integer or Boolean.  _j must be within the range
  27.                0 <= _j <= _s_i_z_e, where _s_i_z_e is the size, in bits, of _i.  That
  28.                is, if _i is a 64-bit object, _j must be within the range
  29.                0 <= _j <= 64.
  30.  
  31.      For values of _j outside these ranges, SSHHIIFFTTAA returns an undefined
  32.      result.
  33.  
  34.      On UNICOS systems, an object is 64 bits.  On UNICOS/mk systems, an
  35.      object is 32 bits or 64 bits.  On IRIX systems, an object is 8 bits,
  36.      16 bits, 32 bits, or 64 bits.
  37.  
  38.      SSHHIIFFTTAA is an elemental function.  The name of this intrinsic cannot be
  39.      passed as an argument.
  40.  
  41. NNOOTTEESS
  42.      The bit representation of the logical data type is not consistent
  43.      among UNICOS and UNICOS/mk systems.  For further details, see the
  44.      _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _3.
  45.  
  46. RREETTUURRNN VVAALLUUEESS
  47.      SSHHIIFFTTAA returns a value of type Boolean on UNICOS and UNICOS/mk
  48.      systems.  It returns an integer result on IRIX systems.
  49.  
  50. EEXXAAMMPPLLEESS
  51.      The following section of Fortran code shows the SSHHIIFFTTAA function used
  52.      in the case where _i is of type integer.  The bit pattern of _i and the
  53.      bit pattern of the result are shown.  For clarity, a 16-bit value is
  54.      used rather than a 64-bit value.
  55.  
  56.           INTEGER I1, I2, I3
  57.           ...
  58.           I2 = 5
  59.           I3 = SHIFTA(I1,I2)
  60.  
  61.         ------------------------------------------------------------------------------------------------------------------------------
  62.        || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 00 || 00 || 00 || 00 || 00 || 00 || 00 || 00 ||
  63.         ------------------------------------------------------------------------------------------------------------------------------
  64.                            II11 ((_i))
  65.  
  66.         ------------------------------------------------------------------------------------------------------------------------------
  67.        || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 11 || 00 || 00 || 00 ||
  68.         ------------------------------------------------------------------------------------------------------------------------------
  69.                            II33 ((rreessuulltt))
  70.  
  71. SSEEEE AALLSSOO
  72.      _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for the printed version of this
  73.      man page.
  74.